.Dd May 20, 2025
.Dt RADARE2 1
.Sh NAME
.Nm radare2
.Nd Advanced command-line hexadecimal editor, disassembler and debugger
.Sh SYNOPSIS
.Nm radare2
.Op Fl a Ar arch
.Op Fl b Ar bits
.Op Fl B Ar baddr
.Op Fl c Ar cmd
.Op Fl e Ar k=v
.Op Fl i Ar file
.Op Fl I Ar prefile
.Op Fl k Ar kernel
.Op Fl m Ar addr
.Op Fl p Ar project
.Op Fl P Ar patch
.Op Fl r Ar rarun2
.Op Fl R Ar rr2rule
.Op Fl s Ar addr
.Op Fl 012AdDjwntLquvVxX
.Ar -|--|=|file
.Sh DESCRIPTION
An advanced command-line hex editor, disassembler, and debugger, providing interactive reverse engineering, scripting, and automation capabilities for binary analysis and vulnerability research.
.Pp
The alias 'r2' may be used as a shorthand for radare2.
.Pp
The options are:
.Bl -tag -width Fl
.It Fl Fl
Open radare2 on an empty file
.It Fl
Equivalent of 'r2 malloc://512'
.It Fl 0
Print \\x00 after initialization and after every command executed
.It Fl 1
Redirect stderr to stdout
.It Fl 2
Close stderr before starting RCore
.It Fl a Ar arch
force asm.arch (x86, ppc, arm, mips, bf, java, ...)
.It Fl A
run 'aaa' command before prompt or patch to analyze all referenced code. Use -AA to run aaaa
.It Fl b Ar bits
force asm.bits (16, 32, 64)
.It Fl B Ar baddr
Specify the base address to be used when loading a new binary. See 'e?bin.baddr'
.It Fl c Ar cmd
Execute the given command before giving prompt
.It Fl d
Start in debugger mode
.It Fl D Ar dbg.backend
Enable debug mode. Set cfg.debug=true
.It Fl e Ar k=v
Set configuration eval variable key=value. For example \-e scr.color=false. When -e is passed after -j, it will set the script source to run instead of setting eval vars.
.It Fl f
Blocksize = file size
.It Fl j
Run QJS script if an argument is passed or enter the qjs shell if no file is specified. You can evaluate expressions when passing the -e flag after the -j.
.It Fl i Ar file
Run script, lang program or radare2 plugin file. After the file is loaded
.It Fl I Ar file
Run script, lang program or radare2 plugin file. Before the file is loaded
.It Fl k Ar kernel
Select kernel (asm.os) for syscall resolution
.It Fl L
List loaded IO plugins.
.It Fl LL
List loaded core plugins.
.It Fl m Ar addr
map file at given address
.It Fl M
Disable demangling
.It Fl n
Do not perform any analysis (r_bin). Just load the raw file
.It Fl nn
Only load the rbin structures (elf, mach0, ...)
.It Fl N
Do not load user settings/projects from ~/.radare2rc, ~/.config/radare2/rc and the scripts inside ~/.config/radare2/rc.d/ directory.
.It Fl NN
Same as -N but also disables the automatic loading of plugins on startup time
.It Fl q
Quiet mode (no prompt) and quit after running the commands specified with -i or -c
.It Fl qq
Quit before showing the prompt. Right after all the -e -c and -i arguments are evaluated.
.It Fl Q
Same as q, but exiting without freeing RCore, this produces leaks at exit time, but saves some precious ms to run the testsuite in fast mode.
.It Fl p Ar prj
Set project file
.It Fl P Ar file
Apply rapatch file and quit (see doc/rapatch.md for more details)
.It Fl r Ar rarun2
Specify dbg.profile rarun2 profile to use when spawning a program for debugging
.It Fl R Ar rarun2-directive
Specify custom rarun2 directives without having to create a rarun2 profile
.It Fl s Ar addr
Start seeking at this address
.It Fl S
Enable sandboxed mode (same as \-e cfg.sandbox=true)
.It Fl t
Get binary information and analyze binary in a background thread
.It Fl T
Avoid computing the file hashes
.It Fl u
Set bin.filter=false to load rbin info without filtering names
.It Fl v
Show version information and exit (Use -qv to get just the version number)
.It Fl V
Show radare2 library versions (prints JSON format if -j is used)
.It Fl w
Open in write mode
.It Fl h
Show help message
.It Fl H
Show files and environment help
.It Fl x
Open the file map without executable permissions
.It Fl X
Same as -e bin.usextr=false, do not use extract plugins, useful for dyldcache
.El
.Sh SHELL
Type '?' for help
.Pp
.Sh VISUAL
To enter visual mode use the 'V' command. Then press '?' for help
.Sh DEBUGGER
In r2 the debugger commands are implemented under the 'd' command. Type 'd?' for help
.Sh ENVIRONMENT
 R2_ARGS           run radare2 with defined arguments in environment and ignore cli ones
 R2_IGNVER         load plugins ignoring the specified version. (be careful)
 R2_DEBUG          if defined, show error messages and crash signal
 R2_DEBUG_ASSERT=1 set a breakpoint when hitting an assert
 R2_MAGICPATH      /Users/pancake/.local/share/radare2/share/radare2/4.5.0-git/magic
 R2_NOPLUGINS      do not load r2 shared plugins
 R2_RCFILE         ~/.radare2rc (user preferences, batch script)
 R2_RDATAHOME      /usr/local
.Ar FILE
path to the current working file.
.Sh SEE ALSO
.Pp
.Xr r2r(1) ,
.Xr rahash2(1) ,
.Xr rafind2(1) ,
.Xr rabin2(1) ,
.Xr radiff2(1) ,
.Xr rasm2(1) ,
.Xr rax2(1) ,
.Xr ravc2(1) ,
.Xr ragg2(1) ,
.Xr rarun2(1) ,
.Sh AUTHORS
.Pp
pancake <pancake@nopcode.org>
